Test Failed
Branch master (272ac7)
by Sergii
01:57
created

SecuritySchemesTest.js ➔ ... ➔ it(ꞌshould test query params parseꞌ)   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 13
rs 9.4285
1
const chai = require("chai"),
2
      _ = require("lodash"),
3
      SecuritySchemesParser = require('../../src/2.0/SecuritySchemesParser'),
4
      testingData = {
5
        params: {
6
          "APIKeyQueryParam": {
7
            "type": "apiKey",
8
            "in": "query",
9
            "name": "access_token"
10
          },
11
        },
12
        headers: {
13
          "APIKeyHeader": {
14
            "type": "apiKey",
15
            "in": "header",
16
            "name": "Authorization"
17
          },
18
        }
19
      }
20
21
chai.should()
22
23
describe('Security schemes parser test', function () {
24
  it('should test query params parse', function () {
25
26
    let parser = new SecuritySchemesParser(testingData.params),
27
        data = parser.parse()
28
29
    parser.headers.should.be.a('object')
30
    parser.parameters.should.be.a('object')
31
    parser.parameters.APIKeyQueryParam.should.be.a('array')
32
    parser.parameters.APIKeyQueryParam.should.length(1)
33
    parser.parameters.APIKeyQueryParam[0].camelCaseName.should.equals('accessToken')
34
    parser.parameters.APIKeyQueryParam[0].name.should.equals('access_token')
35
    parser.parameters.APIKeyQueryParam[0].isQueryParameter.should.equals(true)
36
  })
37
  it('should test headers params parse', function () {
38
39
    let parser = new SecuritySchemesParser(testingData.headers),
40
        data = parser.parse()
41
42
    parser.parameters.should.be.a('object')
43
    parser.headers.should.be.a('object')
44
    parser.headers.APIKeyHeader.should.be.a('array')
45
    parser.headers.APIKeyHeader.should.length(1)
46
    parser.headers.APIKeyHeader[0].camelCaseName.should.equals('authorization')
47
    parser.headers.APIKeyHeader[0].name.should.equals('Authorization')
48
    parser.headers.APIKeyHeader[0].isHeaderParameter.should.equals(true)
49
  })
50
51
  it('should test get parameters by security configuration', function () {
52
    let parser = new SecuritySchemesParser(_.extend(testingData.headers, testingData.params))
53
        data = parser.parse()
54
55
    parser.parameters.should.be.a('object')
56
    parser.headers.should.be.a('object')
57
    parser.headers.APIKeyHeader.should.be.a('array')
58
    parser.headers.APIKeyHeader.should.length(1)
59
    parser.headers.APIKeyHeader[0].camelCaseName.should.equals('authorization')
60
    parser.headers.APIKeyHeader[0].name.should.equals('Authorization')
61
    parser.headers.APIKeyHeader[0].isHeaderParameter.should.equals(true)
62
63
    parser.headers.should.be.a('object')
64
    parser.parameters.should.be.a('object')
65
    parser.parameters.APIKeyQueryParam.should.be.a('array')
66
    parser.parameters.APIKeyQueryParam.should.length(1)
67
    parser.parameters.APIKeyQueryParam[0].camelCaseName.should.equals('accessToken')
68
    parser.parameters.APIKeyQueryParam[0].name.should.equals('access_token')
69
    parser.parameters.APIKeyQueryParam[0].isQueryParameter.should.equals(true)
70
71
    headers = parser.getHeadersForRequest({'test': []})
72
    headers.should.be.a('array')
73
    headers.should.length(0)
74
75
    headers = parser.getHeadersForRequest({'APIKeyHeader': []})
76
    headers.should.be.a('array')
77
    headers.should.length(1)
78
    headers[0].camelCaseName.should.equals('authorization')
79
80
    parameters = parser.getParametersForRequest({'test': []})
81
    parameters.should.be.a('array')
82
    parameters.should.length(0)
83
84
    parameters = parser.getParametersForRequest({'APIKeyQueryParam': []})
85
    parameters.should.be.a('array')
86
    parameters.should.length(1)
87
    parameters[0].camelCaseName.should.equals('accessToken')
88
89
  })
90
})